<?php
class Voluntario_model extends CI_Model
{
	function __construct()
	{
		parent::__construct();
	}
	
	/*
	*	Nombre: datos_municipios
	*	Objetivo: muestra los municipios y los departamentos geograficos para las direcciones
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 03/11/2014
	*	Observaciones: Ninguna.
	*/
	
	function datos_municipios($id_municipio=NULL)
	{
		$where="";
		if($id_municipio!=NULL) $where="where m.id_municipio=".$id_municipio;
		
		$query="SELECT DISTINCT m.id_municipio, d.id_departamento, m.municipio, d.departamento
				FROM org_municipio as m
				INNER JOIN org_departamento as d ON (d.id_departamento=m.id_departamento_pais) ".$where;
		$query=$this->db->query($query);
		return $query->result_array();
	}
	
	/*
	*	Nombre: guardar_voluntario
	*	Objetivo: guarda el registro de un proyecto de voluntariado a sus respectivas tablas en la base de datos
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 19/02/2015
	*	Observaciones: Ninguna.
	*/
	
	function guardar_voluntario($datos)
	{
		extract($datos);
		$bandera_d=1;
		$insert="";
		$values="";
		if($doc_voluntario!='' && $doc_voluntario!=NULL)
		{
			$query0="INSERT INTO constancia (nombre, tipo) VALUES ('$doc_voluntario', '1');";
			if($this->db->query($query0))
			{
				$id_constancia=$this->voluntario_model->get_last_id_constancia();
				$bandera_d=1;
				$insert.=", id_constancia";
				$values.=", ".$id_constancia;
			}
		}
		
		/*Guardando en la tabla direccion*/
		if($detalle!='')
		{
			$query="INSERT INTO direccion (comunidad, detalle, id_municipio) VALUES ('$comunidad', '$detalle', '$id_municipio');";
			if($this->db->query($query))
			{
				$id_direccion=$this->voluntario_model->get_last_id_direccion();
				$bandera_d=1;
				$insert.=", id_direccion";
				$values.=", ".$id_direccion;
			}
			else $bandera=0;
		}
				
		if($bandera_d==1)
		{
			/*Guardado en la tabla dirección completo*/
			$inicioproyecto2=date('Y-m-d',strtotime($inicioproyecto));
			$finproyecto2=date('Y-m-d',strtotime($finproyecto));
			/*Guardando en la tabla de proyecto_voluntario*/
			$query2="INSERT INTO proyecto_voluntario (nombre, inicioproyecto, finproyecto ".$insert.") VALUES ('$nombre', '$inicioproyecto2', '$finproyecto2' ".$values.");";
			
			if($this->db->query($query2))
			{
				$bandera=1;
				/*Guardado en la tabla proyecto_voluntario completo*/
				$id_proyecto=$this->voluntario_model->get_last_id_proyecto();
				if(!empty($personas))
				{
					for($i=0;$i<count($personas);$i++)
					{
						$campos=explode("**",$personas[$i]);
						$query3="INSERT INTO persona (nombres, apellidos) VALUES ('$campos[0]','$campos[1]')";
						if($this->db->query($query3))
						{
							$id_persona=$this->voluntario_model->get_last_id_persona();
							$query4="INSERT INTO persona_voluntaria(id_proyecto,id_persona) values ('$id_proyecto','$id_persona')";
							
							if($this->db->query($query4))
							{
								$bandera=$bandera*1;
							}
							else
							{
								$bandera=$bandera*0;
							}
						}
					}
				}
				else
				{
					$bandera=0;
					echo "<script language='javascript'>alertify.alert('No puede dejar el proyecto sin participantes');</script>";
				}
				if($bandera==1)
				{
					return true;
				}
				else return false;
			}
		}
		else return false;
	}
	
	/*
	*	Nombre: get_last_id_direccion
	*	Objetivo: obtiene el útimo registro de id_direccion
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 12/10/2014
	*	Observaciones: Ninguna.
	*/
	
	function get_last_id_direccion()
	{		
		$query="SELECT MAX(id_direccion) AS id_direccion FROM direccion";
		$query=$this->db->query($query);
		$dire=$query->result_array();
		foreach($dire as $dir)
		{
			return $dir['id_direccion'];
		}		
	}
	
	/*
	*	Nombre: get_last_id_persona
	*	Objetivo: obtiene el útimo registro de persona
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 10/11/2014
	*	Observaciones: Ninguna.
	*/
	
	function get_last_id_persona()
	{		
		$query="SELECT MAX(id_persona) AS id_persona FROM persona";
		$query=$this->db->query($query);
		$pers=$query->result_array();
		foreach($pers as $p)
		{
			return $p['id_persona'];
		}		
	}
	
	/*
	*	Nombre: get_last_id_proyecto
	*	Objetivo: obtiene el útimo registro de proyeto voluntario insertado
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 10/11/2014
	*	Observaciones: Ninguna.
	*/
	
	function get_last_id_proyecto()
	{		
		$query="SELECT MAX(id_proyecto) AS id_proyecto FROM proyecto_voluntario";
		$query=$this->db->query($query);
		$proy=$query->result_array();
		foreach($proy as $p)
		{
			return $p['id_proyecto'];
		}		
	}
	
	/*
	*	Nombre: proyectos
	*	Objetivo: obtiene los registros de proyetos voluntarios insertados
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 24/11/2014
	*	Observaciones: Ninguna.
	*/
	
	function proyectos($id_proyecto=NULL)
	{
		$where="";
		if ($id_proyecto!=NULL) {
			$where=" where pv.id_proyecto='$id_proyecto'";
		} 
		
		$query="SELECT dir.*, pv.id_proyecto, pv.nombre, to_char(pv.inicioproyecto,'dd-mm-YYYY') AS inicioproyecto,
				to_char(pv.finproyecto,'dd-mm-YYYY') AS finproyecto, cons.nombre as doc_voluntario, pv.id_constancia
				FROM proyecto_voluntario as pv
				LEFT JOIN direccion as dir on (dir.id_direccion=pv.id_direccion)
				LEFT JOIN constancia as cons ON (cons.id_constancia=pv.id_constancia)
				".$where."";
		
		$query=$this->db->query($query);
		return $query->result_array();
	}
	
	/*
	*	Nombre: modifica_proyecto
	*	Objetivo: carga la vista para modificar el proyecto
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 03/03/2015
	*	Observaciones: Ninguna.
	*/
	
	function modifica_proyecto($datos)
	{
		extract($datos);
		$bandera=1;
		if(!empty($chk))
		{
			$n=count($chk);
			for($i=0;$i<$n;$i++)
			{
				$query="delete persona_voluntaria where (id_persona='".$chk[$i]."' and id_proyecto='".$id_proyecto."')";
				if($this->db->query($query)) $bandera=$bandera*1;
				else $bandera=$bandera*0;
			}
		}
		
		if($doc_voluntario!='' && $doc_voluntario!=NULL)
		{
			$query0="update constancia set nombre='$doc_voluntario' where id_constancia='$id_constancia'";
			if($this->db->query($query0)) $bandera=$bandera*1;
			else $bandera=$bandera*0;
		}
		
		if(!empty($personas))
		{
			for($i=0;$i<count($personas);$i++)
			{
				$campos=explode("**",$personas[$i]);
				$query3="INSERT INTO persona (nombres, apellidos) VALUES ('$campos[0]','$campos[1]')";
				if($this->db->query($query3))
				{
					$id_persona=$this->voluntario_model->get_last_id_persona();
					$query4="INSERT INTO persona_voluntaria(id_proyecto,id_persona) values ('$id_proyecto','$id_persona')";
					
					if($this->db->query($query4))
					{
						$bandera=$bandera*1;
					}
					else
					{
						$bandera=$bandera*0;
					}
				}
			}
		}

		if($bandera==1)
		{
			$inicioproyecto2=date('Y-m-d',strtotime($inicioproyecto));
			$finproyecto2=date('Y-m-d',strtotime($finproyecto));
			$query="update proyecto_voluntario set nombre='$nombre', inicioproyecto='$inicioproyecto2', finproyecto='$finproyecto2' where id_proyecto='$id_proyecto'";
			if($this->db->query($query))
			{
				$query2="update direccion set comunidad='$comunidad', detalle='$detalle', id_municipio='$id_municipio' where id_direccion='$id_direccion'";
				if($this->db->query($query2)) return true;
				else return false;
			}
		}
		else return false;
	}

	/*
	*	Nombre: proyec_info
	*	Objetivo: obtiene la informacion de los voluntarios de un proyecto
	*	Hecha por: Oscar
	*	Modificada por: Oscar
	*	Última Modificación: 24/11/2014
	*	Observaciones: Ninguna.
	*/
	
	function proyec_info($id_proyecto)
	{
		$query="SELECT per.id_persona, prov.id_proyecto, per.nombres, per.apellidos
				FROM proyecto_voluntario as prov
				INNER JOIN persona_voluntaria as perv ON (prov.id_proyecto=perv.id_proyecto)
				INNER JOIN persona as per ON (perv.id_persona=per.id_persona)
				LEFT JOIN direccion as dir ON (dir.id_direccion=prov.id_direccion)
				WHERE prov.id_proyecto='$id_proyecto'";
		
		$query=$this->db->query($query);
		return $query->result_array();
	}
	
	function cons_pdf($id_persona)
	{
		$query="SELECT id_persona, nombres, apellidos
				FROM persona
				WHERE id_persona='$id_persona'";
		
		$query=$this->db->query($query);
		return $query->result_array();
	}
	
	function info_jefatura()
	{
			$sentecia="SELECT
			CONCAT_WS (' ',titulo,nombres,apellidos) AS jefatura,
			sexo AS sexoj
			FROM
				tutor
			WHERE
				jefe = 1
			"; 
		$query=$this->db->query($sentecia);
		return $query->result_array();		
	}
}
?>